namespace OFX.Aggregator.Infrastructure
{
	using System;

	[Serializable]
	public class InterpretationFailedException : Exception
	{
		private readonly IStatementInterpreter interpreter;

		public InterpretationFailedException(IStatementInterpreter interpreter, string message)
			: base(message) { this.interpreter = interpreter; }

		public InterpretationFailedException(IStatementInterpreter interpreter, string message, Exception innerException)
			: base(message, innerException) { this.interpreter = interpreter; }

		public IStatementInterpreter Interpreter
		{
			get { return this.interpreter; }
		}
	}
}